package main
import (
	"fmt"
)
/*
	查找：   顺序查找 、 二分查找
*/
func main(){
	name := [...]string{"fmx","lsx","love","like"}
	var yourname string
	fmt.Println("请输入你的姓名（关键字）：")
	fmt.Scanln(&yourname)

	//顺序查找（方式一）：
	// for i := 0;i < len(name);i++{
	// 	if yourname == name[i]{
	// 		fmt.Println("找到了，标号是：",i)
	// 		break
	// 	}else if i == len(name)-1 {
	// 		fmt.Println("没有找到对应数据；")			
	// 	}
	// }
	//顺序查找（方式二）：
	index := -1
	for i := 0;i < len(name);i++{
		if yourname == name[i]{
			index = i
			break
		}
	}
	if index != -1{
		fmt.Println("找到了，标号是：",index)
	}else{
		fmt.Println("没有找到对应数据；")
	}

	//二分查找 ：
	var array = [6]int{1,2,44,55,66,77}
	mulitfind(&array,0,len(array)-1,2)
}
//递归实现二分查找，对半砍
func mulitfind(arr *[6]int,leftindex int,rightindex int, object int){
	if leftindex > rightindex{
		fmt.Println("找不到呢！")
		return
	}
	middleindex := (leftindex + rightindex)/2
	if (*arr)[middleindex] > object {
		rightindex = middleindex - 1
		mulitfind(arr,leftindex,rightindex,object)
	}else if (*arr)[middleindex] < object {
		leftindex = middleindex + 1
		mulitfind(arr,leftindex,rightindex,object)
	}else if (*arr)[middleindex] == object {
		fmt.Println("使用二分法找到啦！ 标号是 ：",middleindex)
	}
}